#!/usr/bin/env python3
# -*- coding: utf-8 -*-

OPT_COMPONENTS_LIST = [
    '色', '曳', '也', '亅', '非', '⿺', '韋', '⿳', '𠂆', '見', '冂', '网', '央', '夂', '疒',
    '血', '米', '凵', '支', '風', '青', '目', '⺌', '已', '㇓', '虎', '屮', '匕', '丐', '𠕄',
    '儿', '丶', '鬼', '𧘇', '厶', '束', '巨', '犬', '齿', '𤴔', '羽', '阝', '⑤', '大', '襾',
    '丏', '辰', '耂', '谷', '戊', '⿷', '九', '冘', '皮', '日', '⿴', '𣥂', '王', '朱', '朩',
    '禾', '言', '癶', '龙', '金', '⿱', '⿵', '㔾', '⺆', '发', '一', '专', '貝', '我', '⿶',
    '耳', '牛', '龜', '角', '長', '糹', '己', '兂', '毌', '木', '飞', '自', '宀', '干', '广',
    '士', '彡', '于', '⑧', '刂', '鹵', '东', '页', '赤', '尣', '身', '月', '竹', '龶', '虍',
    '风', '肀', '穴', '尺', '隶', '且', '工', '⑥', '鼓', '廿', '示', '丑', '乀', '足', '卤',
    '鼎', '皿', '⿹', '魚', '乐', '歯', '孓', '鹿', '夕', '𠄎', '𫠣', '高', '羊', '阜', '卌',
    '小', '攵', '㇀', '𠄌', 'ユ', '巛', '𠂊', '缶', '髟', '十', '力', '才', '臣', '齊', '丹',
    '⿸', '卜', '二', '忄', '熏', '丩', 'ス', '虫', '头', '丬', '人', '欠', '斗', '聿', '㐅',
    '𧰨', '爲', '戶', '冉', '乍', '曲', '丣', '行', '耒', '久', '犭', '爻', '黍', '首', '冖',
    '马', '兆', '攴', '事', '禸', '黽', '鼠', '衤', '㇇', '𠃑', '巾', '舌', '酉', '立', '④',
    '齒', '歹', '㸦', '⿰', '龴', '长', '𠃜', '几', '八', '丱', '𠂇', '③', '贝', '疌', '鼻',
    '凹', '羋', '香', '為', '廴', '爪', '囗', '面', '麻', '文', '黄', '白', '鬲', '里', '承',
    '而', '无', '鬥', '乡', '黾', '永', '乙', '片', '火', '石', '玄', '麥', '氵', '口', '毛',
    '鳥', '𠂉', '子', '豆', '钅', '隹', '饣', '馬', '丈', '肃', '彑', '镸', '孑', '骨', '𠘧',
    '瓦', '卍', '弋', '鸟', '瓜', '車', '比', '㐄', '寸', '及', '糸', '辵', '𠂒', '门', '川',
    '彳', '来', '世', '𫝀', '黃', '纟', '乚', '甲', '矢', '至', '彐', '戈', '食', '玉', '衣',
    '戉', '⑦', '臼', '灬', '龟', '尢', '又', '𠃓', '齐', '𠁁', '鱼', '匚', '巴', '入', '飠',
    '罒', '𦣞', '州', '⺀', '车', '礻', '⺄', '西', '土', '牙', '爿', '丘', '頁', '𠂎', '以',
    '刀', '𣎳', '柬', '麦', '㠯', '⿲', '門', '父', '本', '艸', '革', '⿻', '巳', '丿', '粛',
    '歺', '②', '讠', '手', '龍', '覀', '止', '曰', '勹', '凸', '肅', '豸', '㐆', '见', '母',
    '生', '舟', '龠', '韭', '扌', '韦', '音', '朿', '肉', '册', '禹', '飛', '辶', '重', '殳',
    '井', '𡿨', '乜', '斤', '雨', '鬯', '氺', '书', '心', '乑', '乛', '老', '年', '釆', '曱',
    '亻', '为', '禺', '龰', '用', '疋', '冫', '气', '末', '田', '方', '卝', '邑', '辛', '毋',
    '艮', '龵', '弓', '㐁', '史', '女', '尸', '水', '匸', '矛', '黹', '走', '厂', '舛', '未',
    '爫', '豕', '亠', '幺', '卩', '甘', '㇉', '艹', '廾', '旡', '由', '丷', '⺊', '山', '丨',
    '黑', '民', '夊', '氏', '乎', '申', '斉', '亀', '艹', 'コ', '⑨', '\U0002d544', '⑮',
    '元', '𧾷', '兹', '品', '吅', '不', '勿', '亍', '𠦝', '呂', '圭', '可', '亞', '从', '並',
    '夫', '兼', '𦘒', '先', '冋', '各', '亏', '亓', '亘', '业', '𦍌', '免', '亙', '丰', '𡗗',
    '串', '古', '亐', '展', '甫', '呑', '𠀎', '兄', '吕', '佥', '咸', '咼', '合', '𠂭', '豪',
    '占', '内', '名', '京', '𢦏', '〢', '尧', '幸', '坴', '興', '廌', '卵', '𠀐', '五', '寺',
    '夭', '丁', '冊', '右', '司', '向', '了', '𠫓', '𠁣', '𠃛', '𩰋', '𩰊'
]
OPT_COMPONENTS = {k: i for i, k in enumerate(OPT_COMPONENTS_LIST)}

OPT_COMPONENTS_COMPAT_LIST = [
    '色', '曳', '也', '亅', '非', '⿺', '韋', '⿳', '𠂆', '見', '冂', '网', '央', '夂', '疒',
    '血', '米', '凵', '支', '風', '青', '目', '⺌', '已', '㇓', '虎', '屮', '匕', '丐', '𠕄',
    '儿', '丶', '鬼', '𧘇', '厶', '束', '巨', '犬', '齿', '𤴔', '羽', '阝', '⑤', '大', '襾',
    '丏', '辰', '耂', '谷', '戊', '⿷', '九', '冘', '皮', '日', '⿴', '𣥂', '王', '朱', '朩',
    '禾', '言', '癶', '龙', '金', '⿱', '⿵', '㔾', '⺆', '发', '一', '专', '貝', '我', '⿶',
    '耳', '牛', '龜', '角', '長', '糹', '己', '兂', '毌', '木', '飞', '自', '宀', '干', '广',
    '士', '彡', '于', '⑧', '刂', '鹵', '东', '页', '赤', '尣', '身', '月', '竹', '龶', '虍',
    '风', '肀', '穴', '尺', '隶', '且', '工', '⑥', '鼓', '廿', '示', '丑', '乀', '足', '卤',
    '鼎', '皿', '⿹', '魚', '乐', '歯', '孓', '鹿', '夕', '𠄎', '𫠣', '高', '羊', '阜', '卌',
    '小', '攵', '㇀', '𠄌', 'ユ', '巛', '𠂊', '缶', '髟', '十', '力', '才', '臣', '齊', '丹',
    '⿸', '卜', '二', '忄', '熏', '丩', 'ス', '虫', '头', '丬', '人', '欠', '斗', '聿', '㐅',
    '𧰨', '爲', '戶', '冉', '乍', '曲', '丣', '行', '耒', '久', '犭', '爻', '黍', '首', '冖',
    '马', '兆', '攴', '事', '禸', '黽', '鼠', '衤', '㇇', '𠃑', '巾', '舌', '酉', '立', '④',
    '齒', '歹', '㸦', '⿰', '龴', '长', '𠃜', '几', '八', '丱', '𠂇', '③', '贝', '疌', '鼻',
    '凹', '羋', '香', '為', '廴', '爪', '囗', '面', '麻', '文', '黄', '白', '鬲', '里', '承',
    '而', '无', '鬥', '乡', '黾', '永', '乙', '片', '火', '石', '玄', '麥', '氵', '口', '毛',
    '鳥', '𠂉', '子', '豆', '钅', '隹', '饣', '馬', '丈', '肃', '彑', '镸', '孑', '骨', '𠘧',
    '瓦', '卍', '弋', '鸟', '瓜', '車', '比', '㐄', '寸', '及', '糸', '辵', '𠂒', '门', '川',
    '彳', '来', '世', '𫝀', '黃', '纟', '乚', '甲', '矢', '至', '彐', '戈', '食', '玉', '衣',
    '戉', '⑦', '臼', '灬', '龟', '尢', '又', '𠃓', '齐', '𠁁', '鱼', '匚', '巴', '入', '飠',
    '罒', '𦣞', '州', '⺀', '车', '礻', '⺄', '西', '土', '牙', '爿', '丘', '頁', '𠂎', '以',
    '刀', '𣎳', '柬', '麦', '㠯', '⿲', '門', '父', '本', '艸', '革', '⿻', '巳', '丿', '粛',
    '歺', '②', '讠', '手', '龍', '覀', '止', '曰', '勹', '凸', '肅', '豸', '㐆', '见', '母',
    '生', '舟', '龠', '韭', '扌', '韦', '音', '朿', '肉', '册', '禹', '飛', '辶', '重', '殳',
    '井', '𡿨', '乜', '斤', '雨', '鬯', '氺', '书', '心', '乑', '乛', '老', '年', '釆', '曱',
    '亻', '为', '禺', '龰', '用', '疋', '冫', '气', '末', '田', '方', '卝', '邑', '辛', '毋',
    '艮', '龵', '弓', '㐁', '史', '女', '尸', '水', '匸', '矛', '黹', '走', '厂', '舛', '未',
    '爫', '豕', '亠', '幺', '卩', '甘', '㇉', '艹', '廾', '旡', '由', '丷', '⺊', '山', '丨',
    '黑', '民', '夊', '氏', '乎', '申', '斉', '亀', '艹', 'コ', '⑨', '\U0002d544', '⑮',
    '元', '𧾷', '兹', '品', '吅', '不', '勿', '亍', '𠦝', '呂', '圭', '可', '亞', '从', '並',
    '夫', '兼', '𦘒', '先', '冋', '各', '亏', '亓', '亘', '业', '𦍌', '免', '亙', '丰', '𡗗',
    '串', '古', '亐', '展', '甫', '呑', '𠀎', '兄', '吕', '佥', '咸', '咼', '合', '𠂭', '豪',
    '占', '内', '名', '京', '𢦏', '〢', '尧', '幸', '坴', '興', '廌', '卵', '𠀐', '五', '寺',
    '夭', '丁', '冊', '右', '司', '向', '了', '𠫓', '𠁣', '𠃛', '𩰋', '𩰊',
    '𠃍', '𠃋', '𠃊', '𠃌', '𠀍', '𠀉',
]
OPT_COMPONENTS_COMPAT = {k: i for i, k in enumerate(OPT_COMPONENTS_COMPAT_LIST)}

SIMPLE_COMPONENTS_LIST = [
    '②',
    '③',
    '④',
    '⑤',
    '⑥',
    '⑦',
    '⑧',
    '⑨',
    '⑮',
    '⺄',
    '⺈',
    '⺌',
    '⺕',
    '⼘',
    '⿰',
    '⿱',
    '⿲',
    '⿳',
    '⿴',
    '⿵',
    '⿶',
    '⿷',
    '⿸',
    '⿹',
    '⿺',
    '⿻',
    'コ',
    'ス',
    'ユ',
    '㇀',
    '㇇',
    '㇉',
    '㇊',
    '㇏',
    '㇓',
    '㇗',
    '㐄',
    '㐆',
    '㠯',
    '㸦',
    '一',
    '丈',
    '丏',
    '丐',
    '专',
    '丣',
    '丨',
    '丩',
    '丬',
    '丱',
    '丶',
    '为',
    '丿',
    '乀',
    '乁',
    '乎',
    '乑',
    '乙',
    '乚',
    '乛',
    '乜',
    '乡',
    '书',
    '亅',
    '人',
    '兂',
    '入',
    '冖',
    '冘',
    '凵',
    '凸',
    '凹',
    '勹',
    '匚',
    '匸',
    '卌',
    '卍',
    '卝',
    '厂',
    '厶',
    '又',
    '口',
    '史',
    '囗',
    '夊',
    '央',
    '女',
    '孑',
    '孓',
    '宀',
    '寸',
    '尸',
    '尺',
    '山',
    '州',
    '工',
    '己',
    '已',
    '巳',
    '廴',
    '廿',
    '弓',
    '彐',
    '彑',
    '彡',
    '彳',
    '心',
    '戉',
    '手',
    '才',
    '承',
    '攵',
    '斗',
    '旡',
    '日',
    '曱',
    '曲',
    '曳',
    '木',
    '未',
    '末',
    '朿',
    '欠',
    '止',
    '毋',
    '毌',
    '母',
    '比',
    '氏',
    '民',
    '永',
    '為',
    '熏',
    '爪',
    '爲',
    '爿',
    '片',
    '牙',
    '牛',
    '瓜',
    '瓦',
    '田',
    '疌',
    '皮',
    '皿',
    '目',
    '禹',
    '禺',
    '粛',
    '缶',
    '耂',
    '耳',
    '肃',
    '肉',
    '臣',
    '自',
    '臼',
    '舟',
    '艮',
    '虫',
    '襾',
    '谷',
    '豸',
    '身',
    '辶',
    '酉',
    '长',
    '阝',
    '非',
    '革',
    '飞',
    '黽',
    '龜',
    '龰',
    '艹',
    '𠀉',
    '𠀍',
    '𠁁',
    '𠁣',
    '𠂆',
    '𠂊',
    '𠂎',
    '𠂒',
    '𠃊',
    '𠃋',
    '𠃌',
    '𠃍',
    '𠃑',
    '𠃓',
    '𠃛',
    '𠃜',
    '𠄌',
    '𠄎',
    '𠕄',
    '𠘧',
    '𡿨',
    '𣥂',
    '𤴔',
    '𧘇',
    '𧰨',
    '𩰊',
    '𩰋',
    '𫝀',
    '冂', '犬', '金', '水', '衣', '食', '火', '网', '示',
]
SIMPLE_COMPONENTS = {k: i for i, k in enumerate(SIMPLE_COMPONENTS_LIST)}
